#include <iostream>
using namespace std;

int* fun(int* nums,int numsSize,int* returnSize){
    for(int i=0;i<numsSize;i++){
        if(i<numsSize-1 && nums[i]==nums[i+1]){
            nums[i]*=2;
            nums[i+1]=0;
        }
    }
    int *arr=(int*)malloc(sizeof(int)*numsSize);
    *returnSize=numsSize;
    int index=0;
    for(int i=0;i<numsSize;i++){
        arr[i]=0;
    }
    for(int i=0;i<numsSize;i++){
        if(nums[i]!=0){
            arr[index]=nums[i];
            index++;
        }
    }
    return arr;
}

int main() {
    int nums[6] = {1,2,2,1,1,0};
    int* res = fun(nums,6,NULL);
    for(int i=0;i<6;i++){
        cout<<res[i]<<" ";
    }
    return 0;
}
